package com.itheima.jobs;

import com.itheima.contant.RedisConstant;
import com.itheima.utils.QiniuUtil;
import org.springframework.beans.factory.annotation.Autowired;
import redis.clients.jedis.JedisPool;

import java.util.Iterator;
import java.util.Set;

/*定时删除图片*/
public class QuarzDeletePic {

    @Autowired
    private JedisPool jedisPool;

    public void clearImgJob(){
        /*比较上传的图片与提交的图片之间的差异，
        * 上传的图片一定比提交的图片多,返回的就是多出来的图片的名字*/
        Set<String> set = jedisPool.getResource().sdiff(RedisConstant.SETMEAL_PIC_RESOURCES, RedisConstant.SETMEAL_PIC_DB_RESOURCES);

        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()){
            /*取出文件名*/
            String fileName = iterator.next();

            /*删除七牛中的文件*/
            QiniuUtil.delete(fileName);

            /*删除redis中的文件名*/
            jedisPool.getResource().srem(RedisConstant.SETMEAL_PIC_RESOURCES,fileName);
        }
    }
}
